\Extrachap{Conclusioni}

La libreria \texttt{Heat-Spectral} consente di risolvere equazioni differenziali alle derivate parziali di tipo parabolico attraverso il solutore spaziale SEM-NI, su domini rettangolari e griglie strutturate, accoppiato con il $\vartheta$-metodo, per implementare la discretizzazione alle differenze finite dell'intervallo temporale.
Il codice è in grado di gestire contemporaneamente condizioni al contorno di tipo Dirichlet o Neumann, oltre a possedere le strutture necessarie a trattare problemi in cui la forzante è variabile nel tempo.\\
La libreria è stata sviluppata a partire da un progetto già esistente, ideato per risolvere problemi ellittici con condizioni al contorno solo di tipo Dirichlet, implementato secondo un'ottica multi-dominio in modo da poter gestire la parallelizzazione del codice su più processori.
Il fatto di non aver intrapreso il lavoro dal nulla, ma di aver proseguito la progettazione di una libreria già ultimata, ha comportato l'esigenza di adattarsi alle scelte implementative dei precedenti autori, rispettandone le strutture e la sintassi.
L'elevata complessità e la profonda templetizzazione del codice esistente si sono tradotte in un preciso sforzo di comprensione di ogni singolo dettaglio della libreria, in modo da riuscire ad estrarre le strutture necessarie all'estensione del solutore, salvaguardando gli aspetti meglio riusciti del lavoro ereditato.

Le simulazioni numeriche effettuate sui casi test hanno evidenziato l'efficacia della libreria \texttt{Heat-Spectral} nel risolvere sia problemi accademici, sia questioni più applicative e ingegneristiche, ovviamente sempre limitando la scelta della geometria del dominio a forme rettangolari.
Le prove effettuate su un problema evolutivo dotato di soluzione analitica, al variare dei parametri relativi agli schemi di discretizzazione in spazio e in tempo, hanno mostrato la coerenza tra i risultati ottenuti e le stime di convergenza teoriche dei vari metodi.
Inoltre, nonostante l'elevato onere computazionale dovuto all'inversione di matrici sparse, le prestazioni del codice si mantengono comunque buone, anche aumentando il grado dei polinomi per le formule di integrazione numerica oppure il numero degli elementi spettrali in cui suddividere il dominio.

Nella cartella \texttt{examples}, contenuta all'interno del pacchetto che costituisce la libreria, sono presentati alcuni esempi di problemi evolutivi, risolvibili per mezzo del nostro codice, che possono anche essere visti come una guida all'utilizzo del codice.
È da notare che l'interfaccia dell'utente, necessaria alla definizione del problema e del tipo di rappresentazione che si vuole scegliere per la sua soluzione, è limitata alle zone più periferiche del codice, mentre tutti gli algoritmi che si occupano di implementare i solutori sono stati definiti come metodi privati.\\
La scelta di utilizzare software esterni \emph{open source} e multi-piattaforma, necessari a svolgere tutte le funzioni non direttamente implementate nella libreria, consente di sfruttare il codice su svariate architetture e senza alcuna limitazione dovuta al diritto d'autore.
Infine, poiché la libreria è rilasciata sotto licenza GPL, chiunque ha la possibilità di modificarla e ridistribuirla, sempre rispettando i termini stabiliti dalla licenza stessa.
Per concludere, riportiamo alcune idee che potrebbero essere implementate in futuro, con l'obiettivo di estendere le funzionalità della libreria \texttt{Heat-Spectral} a uno scenario di problemi differenziali sempre più ampio:
\begin{itemize}
	\item l'estensione a geometrie più complesse per il dominio computazionale, oltre che a griglie non strutturate per la discretizzazione in spazio;
	\item l'aggiunta della possibilità di risolvere anche problemi vettoriali, in modo da aprire la strada verso una libreria spettrale di fluidodinamica numerica;
	\item l'implementazione di ulteriori metodi, anche di ordine più elevato, per la discretizzazione dell'intervallo temporale.
\end{itemize}


